package co.gov.medellin.sdep.sisdep.regulacion.service;

import java.util.List;

import co.gov.medellin.sdep.sisdep.model.SolicitudAusencia;
import co.gov.medellin.sdep.sisdep.model.comp.SolicitudPermisoComp;
import co.gov.medellin.sdep.sisdep.regulacion.exception.SolicitudAusenciaException;

/**
 * @author acespedes
 *
 */
public interface ISolicitudAusenciaService {

	/**
	 * 
	 * @param newSolicitudAusencia
	 * @throws SolicitudAusenciaException
	 */
	void insert(SolicitudAusencia newSolicitudAusencia) throws SolicitudAusenciaException;

	/**
	 * 
	 * @param newSolicitudAusencia
	 * @throws SolicitudAusenciaException
	 */
	void update(SolicitudAusencia newSolicitudAusencia) throws SolicitudAusenciaException;

	/**
	 * 
	 * @param newSolicitudAusencia
	 * @throws SolicitudAusenciaException
	 */
	void delete(SolicitudAusencia newSolicitudAusencia) throws SolicitudAusenciaException;

	/**
	 * 
	 * @param start
	 * @param limit
	 * @param criteria
	 * @return
	 * @throws SolicitudAusenciaException
	 */
	List load(int start,int limit,SolicitudAusencia criteria) throws SolicitudAusenciaException;

	/**
	 * 
	 * @param id
	 * @return
	 * @throws SolicitudAusenciaException
	 */
	SolicitudAusencia get(long id) throws SolicitudAusenciaException;
	
	/**
	 * 
	 * @param solicitudModifica
	 * @return
	 */
	SolicitudPermisoComp findByRelated(SolicitudAusencia solicitudausencia);

	/**
	 * 
	 * @param longValue
	 * @return
	 */
	SolicitudAusencia findByPrimaryKeyOfSolicitud(long longValue);

}
